RECHERCHE REPRODUCTIBLE

en écologie numérique



Montpellier le 28-11-2022




Recherche reproductible ?

Un exemple





Galileo Galilei, par Peter Paul Rubens (circa 1630)



Mosaïque de Jupiter en vraies couleurs réalisée à partir de photographies prises par la sonde Cassini le 29 décembre 2000 à 5 h 30 UTC.









Lunette de Galillée (1610)













Les quatre satellites galilléens :

  • Io,
  • Europe,
  • Ganymède,
  • Callisto







Deux pages (scan) du ‘Sidereus Nuncius’ de Galillée (“The Starry Messenger” or “The Herald of the Stars”), Venice, 1610.

Goodman et al. (2014)
PLoS Comput Biol






Galillée relate une expérience scientifique au bout de laquelle on abouti à la conclusion que Io, Europe, Ganymède et Callisto sont en orbite autour de Jupiter.




Les notes de Galillée intègrent:

  • Données (dessins)

  • Méta-données (date, météo, carac. lunette)

  • Texte (description des méthodes, analyses et conclusions)

Recherche reproductible



données

méta-données

mat. & mét.

Recherche reproductible



Recherche Reproductible

Pourquoi ?

Avantages

  • Oblige à vérifier le travail (partage données + code)
  • Votre vous futur vous remerciera (vous répéterez vos analyses, écrirez des articles)
  • Vos collaborateurs aussi
  • En étant reproductible, vous renforcez votre crédibilité et votre réputation
  • La reproductibilité favorise la confiance dans la démarche scientifique
  • Un progrès scientifique plus rapide

Un nouveau paradigme


  • les revues le demandent (data accessibility, open research)

  • si je garde mes données et mon code, j’ai un avantage compétitif

  • vous êtes jeunes (au moins dans votre tête), c’est à vous de changer le monde !

  • pour ça il faut apprendre à coder un minimum …

Comment ?

Recherche reproductible

depuis Galillée le concept a un peu évolué …

L’article










Un article publié n’est que le sommet de l’iceberg que représente le processus de recherche …



“An article about computational results is advertising, not scholarship. The actual scholarship is the full software environment, code and data, that produced the result.”

Claerbout and Karrenbach 1992.



“[…] reproducible computational research is to expose more of the research workflow to our audience.”

https://ropensci.github.io/reproducibility-guide/sections/introduction/

Les concepts

  • Data Management

  • Software

  • Tracking Changes

  • Collaboration

  • Project Organization

  • Manuscripts

Wilson et al. 2016. Plos Comp Biol. https://arxiv.org/pdf/1609.00037.pdf

Data Management


Saving both raw and intermediate forms; documenting all steps; creating tidy data amenable to analysis.

Data Management

  • Sauvegarder les données initiales en l’état.
  • Scripter l’acquisition des données au maximum (API, ‘download.file’).
  • Toute transformation sera scriptée, cela devient un résultat.
  • Générer les données que vous voudriez recevoir (tidy)

Tidy data

Software


Writing, organizing, and sharing scripts and programs used in an analysis.

Software

Le code, les scripts

  • Peut importe la convention adoptée, rester constant !
  • Chemins relatifs ! Toujours !
  • Pas d’espaces, d’accents ni de MAJUSCULES !
  • Commenter/documenter (les fonctions, les scripts)

Software

L’environnement logiciel

  • Les packages (version), la version de R (e.g. stringAsFactors = FALSE depuis 4.0, ‘|>’ depuis 4.1): utiliser le package renv
  • et les bibliothèques système, la version de l’OS ?
  • Docker (Rocker pour R), permet de créer une image de l’environnement de travail (OS, bibliothèques, R, packages)

Software

Le “workflow” (enchaînement des scripts, des logiciels).

Software

Le “workflow” (enchaînement des scripts, des logiciels).


  • il existe des outils pour ça (makefile en R, pipeline toolkits targets)

Tracking Changes


Archiver l’évolution de divers composants de notre projet.

Tracking Changes

Utiliser un logiciel de gestion de versions (Git).

Collaboration


Faciliter la compréhension des projets de recherche : permettre la contribution, la vérification, la synthèse et la progression.

Collaboration


  • conventions de code
  • documentaiton de l’archive de recherche (README, license, code de contribution)
  • plateforme de collaboration en ligne (intègre Git !) : github, gitlab

Project Organization


Organizing the digital artifacts of a project to ease discovery and understanding.

Project Organization


Project Organization



Research compendium : organisation du répertoire de travail

Manuscripts


Writing manuscripts in a way that leaves an audit trail and minimizes manual merging of conflict.

Manuscripts


Utiliser la programmation lettrée (literate programming)


Au lieu de considérer que notre tâche principale est de dire à un ordinateur ce qu’il doit faire, appliquons-nous plutôt à expliquer à des êtres humains ce que nous voulons que l’ordinateur fasse.

Donald Knuth, années 70

Manuscripts

Quarto (https://quarto.org) / Rmarkdown (…)

Manuscripts


Comment ça marche Quarto ?

En markdown le texte est formaté en utilisant des balises très simples comme les _ ou les *

Manuscripts

Formats d’export de Quarto (pandoc)

CESAB Datatoolbox